package com.xd.core.business.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alipay.api.domain.Amount;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 客户工单关联表
 * </p>
 *
 * @author ZX
 * @since 2025-02-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ExcelIgnoreUnannotated
public class OutInsuranceInfoPageVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "进件单号")
    private Integer incomingId;

    @ApiModelProperty(value = "商户订单号")
    private String orderNo;

    @ApiModelProperty(value = "借款订单号")
    @ExcelProperty(value = "借款订单号")
    private String incomingOrder;

    @ExcelProperty(value = "合同编号")
    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    @ApiModelProperty(value = "放款单号")
    private Integer outId;

    @ApiModelProperty(value = "放款状态")
    private String status;

    @ExcelProperty(value = "放款方")
    @ApiModelProperty(value = "放款方")
    private String lender;

    @ApiModelProperty(value = "订单状态")
    private String businessStatus;

    @ApiModelProperty(value = "预付款支付方式code")
    private String payTypeCode;

    @ApiModelProperty(value = "预付款状态code（0--未到账，1--已到账）")
    private String advanceStatusCode;

    @ExcelProperty(value = "执行贷款利率")
    @ApiModelProperty(value = "贷款利率")
    private String rate;

    @ExcelProperty(value = "状态详情")
    @ApiModelProperty(value = "状态详情")
    private String statusRemark;

    @ExcelProperty(value = "借款人主体")
    @ApiModelProperty(value = "借款人主体")
    private String name;

    @ExcelProperty(value = "身份证/信用代码")
    @ApiModelProperty(value = "身份证/信用代码")
    private String idCard;

    @ExcelProperty(value = "客户手机号")
    @ApiModelProperty(value = "客户手机号")
    private String phone;

//    @ExcelProperty(value = "进件人")
//    @ApiModelProperty(value = "进件人")
//    private String incomingName;
//
//    @ExcelProperty(value = "进件机构")
//    @ApiModelProperty(value = "进件机构")
//    private String incomingInstitution;

    @ExcelProperty(value = "贷款期限")
    @ApiModelProperty(value = "贷款期限")
    private String term;

    @ExcelProperty(value = "预付款金额")
    @ApiModelProperty(value = "预付款金额")
    private BigDecimal advanceAmount;

    @ExcelProperty(value = "更新时间")
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "订单状态(0--启用,1--停用)")
    private String isEnable;

    @ApiModelProperty(value = "订单状态(0--启用,1--停用)")
    private String isEnableRemark;

    @ApiModelProperty(value ="资方id")
    private Integer companyId;

    @ApiModelProperty(value = "	债权id")
    private Integer debtId;

    @ApiModelProperty(value = "还款方式")
    private String loanMethod;

    @ApiModelProperty(value = "前置服务费率（单位：%）")
    private BigDecimal preServiceFeeRate;

    @ApiModelProperty(value = "后置服务费率（单位：%）")
    private BigDecimal postServiceFeeRate;

    @ApiModelProperty(value = "预付款支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date advancePayTime;

    @ApiModelProperty(value = "预付款状态（0--未到账，1--已到账）")
    private String advanceStatus;

    @ApiModelProperty(value = "预付款支付方式")
    private String advanceType;


}
